package com.zhouyu.mysql.core;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 大都督周瑜（我的微信: dadudu6789）
 */
@Data
public class BufEntry implements Comparable<BufEntry> {
    private List<String> fields = new ArrayList<>();  // 假如是多个字段联合索引
    private int id;

    @Override
    public int compareTo(BufEntry entry2) {
        int size = this.fields.size();

        for (int i = 0; i < size; i++) {
            // 如果两个字段不相等，则比较直接返回这两个字段的大小关系，否则继续比较第二个字段
            if (!this.fields.get(i).equals(entry2.fields.get(i))) {
                return this.fields.get(i).compareTo(entry2.fields.get(i));
            }
        }

        // 所有字段都相等则返回0
        return 0;
    }
}
